/**
 * 估价派工
 */
Ext
		.onReady(function() {

			var obj_gjpg_id = '';

			Ext.QuickTips.init();
			Ext.BLANK_IMAGE_URL = "/Car4S/resource/image/ext/s.gif";
			Ext.form.Field.prototype.msgTarget = 'qtip';

			var sm = new Ext.grid.CheckboxSelectionModel({
				singleSelect : true
			});

			var cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), sm,
					{
						header : '委托单号',
						dataIndex : 'flowId',
						sortable : true,
						width : 140
					}, {
						header : '受理时间',
						dataIndex : 'slsj',
						sortable : true,
						width : 140
					}, {
						header : '车主姓名',
						dataIndex : 'ownerName',
						sortable : true,
						width : 100
					}, {
						header : '车辆牌照',
						dataIndex : 'carTagNumber',
						sortable : true,
						width : 100
					}, {
						header : '创建时间',
						dataIndex : 'createTime',
						id : 'create_time',
						width : 130
					}, {
						header : '备注',
						dataIndex : 'remark',
						id : 'remark'
					} ]);
			var store = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/RepairGJPGAction_list.action',
				}),
				reader : new Ext.data.JsonReader({
					totalProperty : 'totalCount',
					root : 'root'
				}, [ {
					name : 'id'
				}, {
					name : 'flowId'
				}, {
					name : 'carOwnerInfoId'
				}, {
					name : 'gjzfy'
				}, {
					name : 'gsfhj'
				}, {
					name : 'ljfhj'
				}, {
					name : 'flf'
				}, {
					name : 'glf'
				}, {
					name : 'qtfy'
				}, {
					name : 'gsGsfhj'
				}, {
					name : 'gsZfje'
				}, {
					name : 'gsSpje'
				}, {
					name : 'gsMfje'
				}, {
					name : 'ljLjfhj'
				}, {
					name : 'ljZfje'
				}, {
					name : 'ljSpje'
				}, {
					name : 'ljMfje'
				}, {
					name : 'remark'
				}, {
					name : 'carTagNumber'
				}, {
					name : 'carTagType'
				}, {
					name : 'carBrands'
				}, {
					name : 'carModel'
				}, {
					name : 'carColor'
				}, {
					name : 'carChassisNo'
				}, {
					name : 'carEngineNo'
				}, {
					name : 'ownerName'
				}, {
					name : 'ownerContact'
				}, {
					name : 'ownerTelephone'
				}, {
					name : 'ownerMobile'
				}, {
					name : 'carDriverLength'
				}, {
					name : 'carBuyTime'
				}, {
					name : 'carAuditTime'
				}, {
					name : 'wxlxDesp'
				}, {
					name : 'slsj'
				}, {
					name : 'czzgms'
				}, {
					name : 'fwgwName'
				}, {
					name : 'createTime'
				} ])
			});

			var pagesize_combo = new Ext.form.ComboBox({
				name : 'pagesize',
				hiddenName : 'pagesize',
				typeAhead : true,
				triggerAction : 'all',
				lazyRender : true,
				mode : 'local',
				store : new Ext.data.ArrayStore({
					fields : [ 'value', 'text' ],
					data : [ [ 10, '10条/页' ], [ 20, '20条/页' ], [ 50, '50条/页' ],
							[ 100, '100条/页' ], [ 250, '250条/页' ],
							[ 500, '500条/页' ] ]
				}),
				valueField : 'value',
				displayField : 'text',
				value : '50',
				editable : false,
				width : 85
			});
			var number = parseInt(pagesize_combo.getValue());
			pagesize_combo.on("select", function(comboBox) {
				bbar.pageSize = parseInt(comboBox.getValue());
				number = parseInt(comboBox.getValue());
				store.reload({
					params : {
						start : 0,
						limit : bbar.pageSize
					}
				});
			});

			var bbar = new Ext.PagingToolbar({
				pageSize : number,
				store : store,
				displayInfo : true,
				displayMsg : '显示{0}条到{1}条,共{2}条',
				plugins : new Ext.ux.ProgressBarPager(), // 分页进度条
				emptyMsg : "没有符合条件的记录",
				items : [ '-', '&nbsp;&nbsp;', pagesize_combo ]
			});

			var grid = new Ext.grid.GridPanel(
					{
						title : '<span class="commoncss">车辆预约信息列表</span>',
						height : 510,
						store : store,
						region : 'center',
						margins : '3 3 3 3',
						loadMask : {
							msg : '正在加载表格数据,请稍等...'
						},
						stripeRows : true,
						frame : true,
						autoExpandColumn : 'remark',
						cm : cm,
						sm : sm,
						tbar : [
								{
									text : '新增估价派工',
									iconCls : 'page_addIcon',
									handler : function() {
										Ext.Ajax
												.request({
													url : '/Car4S/RepairGJPGAction_getPKID.action',
													waitTitle : '提示',
													method : 'POST',
													waitMsg : '正在处理数据,请稍候...',
													success : function(response) {
														var responseData = Ext
																.decode(response.responseText);
														if (responseData.success == true) {
															// 后台生成主键
															obj_gjpg_id = responseData.pkID;
															/**
															 * <code>
															var json = "{belongId:'"
																	+ obj_gjpg_id
																	+ "'}";
															store_gs
																	.reload({
																		params : {
																			paramsCode : json
																		}
																	});
															store_lj
																	.reload({
																		params : {
																			paramsCode : json
																		}
																	});
															 */
															codeWindow.show();
														} else {
															Ext.Msg
																	.alert(
																			'提示',
																			'获取估价派工单号失败，请稍后重试！');
														}
													},
													failure : function(response) {
														Ext.Msg
																.alert('提示',
																		'获取估价派工单号失败，请稍后重试！');
													}
												});
									}
								}, '-', {
									text : '修改',
									iconCls : 'page_edit_1Icon',
									handler : function() {
										ininEditCodeWindow();
									}
								}
								/**
								 * <code>
								, '-', {
									text : '删除',
									iconCls : 'page_delIcon',
									handler : function() {
										deleteCodeItems();
									}
								}
								 */
								, '-', '->',
								/**
								 * <code>
								{
									text : '查询',
									iconCls : 'previewIcon',
									handler : function() {
										queryCodeWindow.show();
									}
								},
								 */
								'-', {
									text : '刷新',
									iconCls : 'arrow_refreshIcon',
									handler : function() {
										store.reload();
									}
								} ],
						bbar : bbar
					});

			store.load({
				params : {
					start : 0,
					limit : bbar.pageSize
				}
			});

			grid.addListener('rowdblclick', ininEditCodeWindow);
			/**
			 * 新增
			 */
			var codeWindow;
			var formPanel;

			// 维修类型
			WXLXStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/DataLibaryAction_all.action?type=2'
				}),
				autoLoad : true,
				reader : new Ext.data.JsonReader({
					root : 'root'
				}, [ {
					name : 'id'
				}, {
					name : 'desp'
				}, {
					name : 'type'
				}, {
					name : 'remark'
				} ])
			});
			// 工种
			JOBSTYPEStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/DataLibaryAction_all.action?type=4'
				}),
				autoLoad : true,
				reader : new Ext.data.JsonReader({
					root : 'root'
				}, [ {
					name : 'id'
				}, {
					name : 'desp'
				}, {
					name : 'type'
				}, {
					name : 'remark'
				} ])
			});
			// 付费类型
			PAYTYPEStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/DataLibaryAction_all.action?type=6'
				}),
				autoLoad : true,
				reader : new Ext.data.JsonReader({
					root : 'root'
				}, [ {
					name : 'id'
				}, {
					name : 'desp'
				}, {
					name : 'type'
				}, {
					name : 'remark'
				} ])
			});
			// 零件
			CARPARTSTYPEStore = new Ext.data.Store({
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/CarPartsAction_all.action'
				}),
				autoLoad : true,
				reader : new Ext.data.JsonReader({
					root : 'root'
				}, [ {
					name : 'id'
				}, {
					name : 'partsNo'
				}, {
					name : 'partsIndex'
				}, {
					name : 'partsName'
				}, {
					name : 'partsPrice'
				}, {
					name : 'remark'
				} ])
			});

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修工时--------------------------------------------
			 */
			// 行号
			var rownum_gs = new Ext.grid.RowNumberer({
				header : '序号',
				width : 40
			});
			var sm_gs = new Ext.grid.CheckboxSelectionModel({
				singleSelect : true
			});
			// 定义列模型
			var cm_gs = new Ext.grid.ColumnModel(
					[
							rownum_gs,
							sm_gs,
							{
								header : '维修类型',
								dataIndex : 'wxlx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'gs_wxlx_id',
											store : WXLXStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'id',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								/**
								 * <code>
								listeners : {
									select : function(combo, record, value) {
										var index = WXLXStore
												.find(
														Ext
																.getCmp('gs_wxlx_id').valueField,
														value);
										if (index != -1) {
											Ext
													.getCmp('gs_bzgsf_id')
													.setValue(
															WXLXStore
																	.getAt(index).data.remark);
										}
									}
								},
								 */
								renderer : function(value, metadata, record) {
									var index = WXLXStore.find(Ext
											.getCmp('gs_wxlx_id').valueField,
											value);
									if (index != -1) {
										/**
										 * <code>
										var remark = WXLXStore.getAt(index).data.remark;
										Ext.getCmp('gs_bzgsf_id').setValue(
												remark);
										 */
										return WXLXStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '付费类型',
								dataIndex : 'fflx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'gs_fflx_id',
											store : PAYTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'desp',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = PAYTYPEStore.find(Ext
											.getCmp('gs_fflx_id').valueField,
											value);
									if (index != -1) {
										return PAYTYPEStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '标准工时费',
								dataIndex : 'bzgsf',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'gs_bzgsf_id'
										})),
								width : 80
							},
							{
								header : '工种',
								dataIndex : 'gz',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'gs_gz_id',
											store : JOBSTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'desp',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = JOBSTYPEStore.find(Ext
											.getCmp('gs_gz_id').valueField,
											value);
									if (index != -1) {
										return JOBSTYPEStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '维修工时内容',
								dataIndex : 'wxgnr',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 140
							},
							{
								header : '维修技师1',
								dataIndex : 'wxjs1',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '维修技师2',
								dataIndex : 'wxjs2',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '维修技师3',
								dataIndex : 'wxjs3',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							} ]);

			/**
			 * 数据存储
			 */
			var store_gs = new Ext.data.Store({
				pruneModifiedRecords : true,
				// 获取数据的方式
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/RepairGJPGAction_listGS.action'
				}),
				// 数据读取器
				reader : new Ext.data.JsonReader({
					totalProperty : 'totalCount', // 记录总数
					root : 'root' // Json中的列表数据根节点
				}, [ {
					name : 'id'
				}, {
					name : 'belongId'
				}, {
					name : 'wxlx'
				}, {
					name : 'fflx'
				}, {
					name : 'bzgsf'
				}, {
					name : 'gz'
				}, {
					name : 'wxgnr'
				}, {
					name : 'wxjs1'
				}, {
					name : 'wxjs2'
				}, {
					name : 'wxjs3'
				}, {
					name : 'remark'
				} ])
			});

			// 定义一个Record
			var record_gs = Ext.data.Record.create([ {
				name : 'id',
				type : 'string'
			}, {
				name : 'belongId',
				type : 'string'
			}, {
				name : 'wxlx',
				type : 'string'
			}, {
				name : 'fflx',
				type : 'string'
			}, {
				name : 'bzgsf',
				type : 'string'
			}, {
				name : 'gz',
				type : 'string'
			}, {
				name : 'wxgnr',
				type : 'string'
			}, {
				name : 'wxjs1',
				type : 'string'
			}, {
				name : 'wxjs2',
				type : 'string'
			}, {
				name : 'wxjs3',
				type : 'string'
			}, {
				name : 'remark',
				type : 'string'
			} ]);

			// 表格工具栏
			var tbar_gs = new Ext.Toolbar(
					{
						items : [
								'-',
								{
									text : '新增一行',
									iconCls : 'addIcon',
									handler : function() {
										var row = new record_gs({});
										row.set('belongId', obj_gjpg_id); // 赋初值
										grid_gs.stopEditing();
										store_gs.insert(0, row);
										grid_gs.startEditing(0, 1);
									}
								},
								{
									text : '保存',
									iconCls : 'acceptIcon',
									handler : function() {
										saveRow_gs();
									}
								},
								{
									text : '删除一行',
									iconCls : 'deleteIcon',
									handler : function() {
										var rows = grid_gs.getSelectionModel()
												.getSelections();
										if (Ext.isEmpty(rows)) {
											Ext.Msg.alert('提示', '你没有选中行');
										} else {
											Ext.Msg
													.confirm(
															'请确认',
															'你真的要删除该维修工时信息吗?',
															function(btn, text) {
																if (btn == 'yes') {
																	// showWaitMsg();
																	Ext.Ajax
																			.request({
																				url : '/Car4S/RepairGJPGAction_deleteGS.action',
																				waitTitle : '提示',
																				method : 'POST',
																				waitMsg : '正在处理数据,请稍候...',
																				success : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修工时信息删除成功');
																					var json = "{belongId:'"
																							+ obj_gjpg_id
																							+ "'}";
																					store_gs
																							.reload({
																								params : {
																									paramsCode : json
																								}
																							});
																				},
																				failure : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修工时信息删除失败');
																				},
																				params : {
																					id : rows[0]
																							.get("id")
																				}
																			});
																}
															});
										}
									}
								} ]
					});
			// 表格实例
			var grid_gs = new Ext.grid.EditorGridPanel({
				// title : '<span class="commoncss">维修工时</span>',
				height : 150,
				autoScroll : true,
				frame : true,
				region : 'center', // 和VIEWPORT布局模型对应，充当center区域布局
				margins : '3 3 3 3',
				store : store_gs, // 数据存储
				stripeRows : true, // 斑马线
				sm : sm_gs,
				cm : cm_gs, // 列模型
				tbar : tbar_gs, // 表格工具栏
				clicksToEdit : 1, // 单击、双击进入编辑状态
				viewConfig : {
					forceFit : true
				},
				loadMask : {
					msg : '正在加载表格数据,请稍等...'
				}
			});

			// 保存
			function saveRow_gs() {
				var m = store_gs.modified.slice(0); // 获取修改过的record数组对象
				if (Ext.isEmpty(m)) {
					Ext.MessageBox.alert('提示', '没有数据需要保存!');
					return;
				}
				var jsonArray = [];
				// 将record数组对象转换为简单Json数组对象
				Ext.each(m, function(item) {
					jsonArray.push(item.data);
				});
				// 提交到后台处理
				Ext.Ajax.request({
					url : '/Car4S/RepairGJPGAction_addGS.action',
					success : function(response) { // 回调函数有1个参数
						Ext.Msg.alert('提示', '维修工时信息保存成功!');
						var json = "{belongId:'" + obj_gjpg_id + "'}";
						store_gs.reload({
							params : {
								paramsCode : json
							}
						});
					},
					failure : function(response) {
						Ext.MessageBox.alert('提示', '数据保存失败');
					},
					params : {
						// 系列化为Json资料格式传入后台处理
						paramsCode : Ext.encode(jsonArray)
					}
				});
			}

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修工时--------------------------------------------
			 */

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修零件--------------------------------------------
			 */

			// 行号
			var rownum_lj = new Ext.grid.RowNumberer({
				header : '序号',
				width : 40
			});
			var sm_lj = new Ext.grid.CheckboxSelectionModel({
				singleSelect : true
			});
			// 定义列模型
			var cm_lj = new Ext.grid.ColumnModel(
					[
							rownum_lj,
							sm_lj,
							{
								header : '维修类型',
								dataIndex : 'wxlx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'lj_wxlx_id',
											store : WXLXStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'id',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								/**
								 * <code>
								listeners : {
									select : function(combo, record, value) {
										var index = WXLXStore
												.find(
														Ext
																.getCmp('gs_wxlx_id').valueField,
														value);
										if (index != -1) {
											Ext
													.getCmp('gs_bzgsf_id')
													.setValue(
															WXLXStore
																	.getAt(index).data.remark);
										}
									}
								},
								 */
								renderer : function(value, metadata, record) {
									var index = WXLXStore.find(Ext
											.getCmp('lj_wxlx_id').valueField,
											value);
									if (index != -1) {
										/**
										 * <code>
										var remark = WXLXStore.getAt(index).data.remark;
										Ext.getCmp('gs_bzgsf_id').setValue(
												remark);
										 */
										return WXLXStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '付费类型',
								dataIndex : 'fflx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'lj_fflx_id',
											store : PAYTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'desp',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = PAYTYPEStore.find(Ext
											.getCmp('lj_fflx_id').valueField,
											value);
									if (index != -1) {
										return PAYTYPEStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '零件金额',
								dataIndex : 'ljje',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'lj_ljje_id'
										})),
								width : 80
							},
							{
								header : '零件号',
								dataIndex : 'ljh',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'lj_ljh_id',
											store : CARPARTSTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'partsNo',
											displayField : 'partsNo',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = CARPARTSTYPEStore.find(Ext
											.getCmp('lj_ljh_id').valueField,
											value);
									if (index != -1) {
										return CARPARTSTYPEStore.getAt(index).data.partsNo;
									}
									return value;
								},
								width : 80
							},
							{
								header : '零件名称',
								dataIndex : 'ljmc',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'lj_ljmc_id'
										})),
								width : 140
							},
							{
								header : '车型号',
								dataIndex : 'ljcxh',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '数量',
								dataIndex : 'ljsl',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '单价',
								dataIndex : 'ljdj',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'lj_ljdj_id'
										})),
								width : 80
							} ]);

			/**
			 * 数据存储
			 */
			var store_lj = new Ext.data.Store({
				pruneModifiedRecords : true,
				// 获取数据的方式
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/RepairGJPGAction_listLJ.action'
				}),
				// 数据读取器
				reader : new Ext.data.JsonReader({
					totalProperty : 'totalCount', // 记录总数
					root : 'root' // Json中的列表数据根节点
				}, [ {
					name : 'id'
				}, {
					name : 'belongId'
				}, {
					name : 'wxlx'
				}, {
					name : 'fflx'
				}, {
					name : 'ljje'
				}, {
					name : 'ljh'
				}, {
					name : 'ljmc'
				}, {
					name : 'ljsl'
				}, {
					name : 'ljdj'
				}, {
					name : 'ljcxh'
				}, {
					name : 'remark'
				} ])
			});

			// 定义一个Record
			var record_lj = Ext.data.Record.create([ {
				name : 'id',
				type : 'string'
			}, {
				name : 'belongId',
				type : 'string'
			}, {
				name : 'wxlx',
				type : 'string'
			}, {
				name : 'fflx',
				type : 'string'
			}, {
				name : 'ljje',
				type : 'string'
			}, {
				name : 'ljh',
				type : 'string'
			}, {
				name : 'ljmc',
				type : 'string'
			}, {
				name : 'ljsl',
				type : 'string'
			}, {
				name : 'ljdj',
				type : 'string'
			}, {
				name : 'ljxch',
				type : 'string'
			}, {
				name : 'remark',
				type : 'string'
			} ]);

			// 表格工具栏
			var tbar_lj = new Ext.Toolbar(
					{
						items : [
								'-',
								{
									text : '新增一行',
									iconCls : 'addIcon',
									handler : function() {
										var row = new record_lj({});
										row.set('belongId', obj_gjpg_id); // 赋初值
										grid_lj.stopEditing();
										store_lj.insert(0, row);
										grid_lj.startEditing(0, 1);
									}
								},
								{
									text : '保存',
									iconCls : 'acceptIcon',
									handler : function() {
										saveRow_lj();
									}
								},
								{
									text : '删除一行',
									iconCls : 'deleteIcon',
									handler : function() {
										var rows = grid_lj.getSelectionModel()
												.getSelections();
										if (Ext.isEmpty(rows)) {
											Ext.Msg.alert('提示', '你没有选中行');
										} else {
											Ext.Msg
													.confirm(
															'请确认',
															'你真的要删除该维修零件信息吗?',
															function(btn, text) {
																if (btn == 'yes') {
																	// showWaitMsg();
																	Ext.Ajax
																			.request({
																				url : '/Car4S/RepairGJPGAction_deleteLJ.action',
																				waitTitle : '提示',
																				method : 'POST',
																				waitMsg : '正在处理数据,请稍候...',
																				success : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修零件信息删除成功');
																					var json = "{belongId:'"
																							+ obj_gjpg_id
																							+ "'}";
																					store_lj
																							.reload({
																								params : {
																									paramsCode : json
																								}
																							});
																				},
																				failure : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修零件信息删除失败');
																				},
																				params : {
																					id : rows[0]
																							.get("id")
																				}
																			});
																}
															});
										}
									}
								} ]
					});
			// 表格实例
			var grid_lj = new Ext.grid.EditorGridPanel({
				// title : '<span class="commoncss">维修零件</span>',
				height : 150,
				autoScroll : true,
				frame : true,
				region : 'center', // 和VIEWPORT布局模型对应，充当center区域布局
				margins : '3 3 3 3',
				store : store_lj, // 数据存储
				stripeRows : true, // 斑马线
				sm : sm_lj,
				cm : cm_lj, // 列模型
				tbar : tbar_lj, // 表格工具栏
				clicksToEdit : 1, // 单击、双击进入编辑状态
				viewConfig : {
					forceFit : true
				},
				loadMask : {
					msg : '正在加载表格数据,请稍等...'
				}
			});

			// 保存
			function saveRow_lj() {
				var m = store_lj.modified.slice(0); // 获取修改过的record数组对象
				if (Ext.isEmpty(m)) {
					Ext.MessageBox.alert('提示', '没有数据需要保存!');
					return;
				}
				var jsonArray = [];
				// 将record数组对象转换为简单Json数组对象
				Ext.each(m, function(item) {
					jsonArray.push(item.data);
				});
				// 提交到后台处理
				Ext.Ajax.request({
					url : '/Car4S/RepairGJPGAction_addLJ.action',
					success : function(response) { // 回调函数有1个参数
						Ext.Msg.alert('提示', '维修零件信息保存成功!');
						var json = "{belongId:'" + obj_gjpg_id + "'}";
						store_lj.reload({
							params : {
								paramsCode : json
							}
						});
					},
					failure : function(response) {
						Ext.MessageBox.alert('提示', '数据保存失败');
					},
					params : {
						// 系列化为Json资料格式传入后台处理
						paramsCode : Ext.encode(jsonArray)
					}
				});
			}

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修零件--------------------------------------------
			 */

			formPanel = new Ext.form.FormPanel(
					{
						id : 'codeForm',
						name : 'codeForm',
						// frame : true, // 是否渲染表单面板背景色
						labelAlign : 'right', // 标签对齐方式
						autoScroll : true,
						bodyStyle : 'padding:15 15 15 15', // 表单元素和表单面板的边距
						items : [
								new Ext.form.FieldSet(
										{
											id : "queryFieldSet1",
											title : '受理委托信息',
											border : true,
											labelWidth : 120,
											style : 'padding:5px',
											items : [ {
												layout : 'column',
												border : false,
												items : [
														{
															columnWidth : .5,
															layout : 'form',
															labelWidth : 100, // 标签宽度
															defaultType : 'textfield',
															border : false,
															items : [ {
																fieldLabel : '委托单号',
																id : 'flowId_add',
																name : 'flowId',
																anchor : '95%',
																allowBlank : false,
																blankText : '请输入委托单号',
																// emptyText :
																// '请输入委托单号...',
																maxLength : 25
															} ]
														},
														{
															columnWidth : .5,
															layout : 'form',
															border : false,
															items : [ {
																layout : 'column',
																border : false,
																items : [ {
																	columnWidth : .2,
																	layout : 'form',
																	defaultType : 'textfield',
																	border : false,
																	items : [ new Ext.Button(
																			{
																				text : '查询',
																				handler : function() {
																					var flowId = Ext
																							.getCmp(
																									'flowId_add')
																							.getValue();
																					if (flowId == null
																							|| flowId == '') {
																						Ext.MessageBox
																								.alert(
																										'提示',
																										'请输入委托单号进行查询');
																						return;
																					} else {
																						Ext.Ajax
																								.request({
																									url : '/Car4S/RepairFlowAction_getCLDJ.action',
																									params : {
																										id : flowId
																									},
																									success : function(
																											response,
																											options) {
																										var responseData = Ext
																												.decode(response.responseText);
																										if (responseData.success == true) {
																											Ext
																													.getCmp(
																															'carTagNumber_add')
																													.setValue(
																															responseData.root[0].carTagNumber);
																											Ext
																													.getCmp(
																															'owner_name_add')
																													.setValue(
																															responseData.root[0].ownerName);
																											Ext
																													.getCmp(
																															'car_model_add')
																													.setValue(
																															responseData.root[0].carModel);
																											Ext
																													.getCmp(
																															'car_chassis_no_add')
																													.setValue(
																															responseData.root[0].carChassisNo);
																											Ext
																													.getCmp(
																															'car_brands_add')
																													.setValue(
																															responseData.root[0].carBrands);
																											Ext
																													.getCmp(
																															'car_engine_no_add')
																													.setValue(
																															responseData.root[0].carEngineNo);
																											Ext
																													.getCmp(
																															'car_driver_length_add')
																													.setValue(
																															responseData.root[0].carDriverLength);
																											Ext
																													.getCmp(
																															'wxlxDesp_add')
																													.setValue(
																															responseData.root[0].wxlxDesp);
																											Ext
																													.getCmp(
																															'slsj_add')
																													.setValue(
																															responseData.root[0].slsj);
																											Ext
																													.getCmp(
																															'fwgwName_add')
																													.setValue(
																															responseData.root[0].fwgwName);
																											Ext
																													.getCmp(
																															'czzgms_add')
																													.setValue(
																															responseData.root[0].czzgms);
																											Ext
																													.getCmp(
																															'carOwnerInfoId_add')
																													.setValue(
																															responseData.root[0].carOwnerInfoId);
																										} else {
																											Ext.MessageBox
																													.alert(
																															'提示',
																															'所查询的委托单号信息不存在，或者已经不可再进行估价派工，请核实后再进行查询！');
																										}
																									},
																									failure : function() {
																										Ext.MessageBox
																												.alert(
																														'提示',
																														'查询委托单号信息失败,请刷新后重新查询');
																									},
																									scope : this
																								});
																					}
																				}
																			}) ]
																} ]
															} ]
														} ]
											} ]
										}), new Ext.form.FieldSet({
									id : "queryFieldSet2",
									title : '客户信息',
									border : true,
									labelWidth : 120,
									style : 'padding:5px',
									items : [ {
										layout : 'column',
										border : false,
										items : [ {
											columnWidth : .25,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '车主姓名',
												id : 'owner_name_add',
												name : 'ownerName',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入车主姓名',
												emptyText : '请输入车主姓名...',
												readOnly : true,
												maxLength : 20
											}, {
												fieldLabel : '车辆底盘号',
												id : 'car_chassis_no_add',
												name : 'carChassisNo',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入车辆底盘号',
												emptyText : '请输入车辆底盘号...',
												readOnly : true,
												maxLength : 25
											} ]
										}, {
											columnWidth : .25,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '车辆牌照',
												id : 'carTagNumber_add',
												name : 'carTagNumber',
												anchor : '95%',
												allowBlank : false,
												emptyText : '请输入车辆牌照...',
												blankText : '请输入车辆牌照',
												readOnly : true,
												maxLength : 25
											}, {
												fieldLabel : '发动机号',
												id : 'car_engine_no_add',
												name : 'carEngineNo',
												anchor : '95%',
												readOnly : true,
												maxLength : 25
											} ]
										}, {
											columnWidth : .25,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '车辆品牌',
												id : 'car_brands_add',
												name : 'carBrands',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入车辆品牌',
												emptyText : '请输入车辆品牌...',
												readOnly : true,
												maxLength : 25
											}, {
												fieldLabel : '行驶里程',
												id : 'car_driver_length_add',
												name : 'carDriverLength',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入行驶里程',
												emptyText : '请输入行驶里程...',
												readOnly : true,
												maxLength : 25
											} ]
										}, {
											columnWidth : .25,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '车辆型号',
												id : 'car_model_add',
												name : 'carModel',
												anchor : '95%',
												readOnly : true,
												maxLength : 25
											} ]
										} ]
									}, {
										fieldLabel : 'carOwnerInfoId',
										id : 'carOwnerInfoId_add',
										name : 'carOwnerInfoId',
										xtype : 'textfield',
										anchor : '95%',
										hidden : true,
										hideLabel : true
									} ]
								}), new Ext.form.FieldSet({
									id : "queryFieldSet3",
									title : '维修信息',
									border : true,
									labelWidth : 120,
									style : 'padding:5px',
									items : [ {
										layout : 'column',
										border : false,
										items : [ {
											columnWidth : .33,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '维修类别',
												xtype : 'textfield',
												id : 'wxlxDesp_add',
												name : 'wxlxDesp',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入维修类别',
												emptyText : '请输入维修类别...',
												readOnly : true,
												maxLength : 50
											} ]
										}, {
											columnWidth : .33,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '受理时间',
												xtype : 'textfield',
												id : 'slsj_add',
												name : 'slsj',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入受理时间',
												emptyText : '请输入受理时间...',
												readOnly : true,
												maxLength : 50
											} ]
										}, {
											columnWidth : .33,
											layout : 'form',
											labelWidth : 100, // 标签宽度
											defaultType : 'textfield',
											border : false,
											items : [ {
												fieldLabel : '服务顾问',
												xtype : 'textfield',
												id : 'fwgwName_add',
												name : 'fwgwName',
												anchor : '95%',
												allowBlank : false,
												blankText : '请输入服务顾问',
												emptyText : '请输入服务顾问...',
												readOnly : true,
												maxLength : 50
											} ]
										} ]
									}, {
										fieldLabel : '车主主观描述',
										xtype : 'textfield',
										id : 'czzgms_add',
										name : 'czzgms',
										anchor : '95%',
										allowBlank : false,
										blankText : '请输入车主主观描述',
										emptyText : '请输入车主主观描述...',
										readOnly : true,
										maxLength : 50
									} ]
								}), new Ext.form.FieldSet({
									id : "queryFieldSet4",
									title : '维修工时(只能单行数据保存/删除)',
									border : true,
									labelWidth : 120,
									style : 'padding:5px',
									items : [ grid_gs ]
								}), new Ext.form.FieldSet({
									id : "queryFieldSet5",
									title : '维修零件(只能单行数据保存/删除)',
									border : true,
									labelWidth : 120,
									style : 'padding:5px',
									items : [ grid_lj ]
								}) ]
					});

			codeWindow = new Ext.Window(
					{
						layout : 'fit',
						width : 900,
						height : 448,
						resizable : false,
						draggable : true,
						closeAction : 'hide',
						title : '<span class="commoncss">新增估价派工信息</span>',
						// iconCls : 'page_addIcon',
						modal : true,
						collapsible : true,
						titleCollapse : true,
						maximizable : false,
						buttonAlign : 'right',
						border : false,
						animCollapse : true,
						animateTarget : Ext.getBody(),
						constrain : true,
						items : [ formPanel ],
						buttons : [
								{
									text : '保存',
									iconCls : 'acceptIcon',
									handler : function() {
										if (codeWindow.getComponent('codeForm').form
												.isValid()) {
											var json = [];
											var jsonDataObj = codeWindow
													.getComponent('codeForm').form
													.getValues();
											jsonDataObj.id = obj_gjpg_id;
											json = Ext.encode(jsonDataObj)
													.toString();
											codeWindow.getComponent('codeForm').form
													.submit({
														url : '/Car4S/RepairGJPGAction_add.action',
														waitTitle : '提示',
														method : 'POST',
														params : {
															paramsCode : json
														},
														waitMsg : '正在处理数据,请稍候...',
														success : function(
																form, action) {
															Ext.MessageBox
																	.alert(
																			'提示',
																			'车辆预约信息保存成功');
															store.reload();
															codeWindow
																	.getComponent('codeForm').form
																	.reset();
															codeWindow.hide();
															/**
															 * <code>
															Ext.Msg
																	.confirm(
																			'请确认',
																			'车辆预约信息新增成功,您要继续添加吗?',
																			function(
																					btn,
																					text) {
																				if (btn == 'yes') {
																					codeWindow
																							.getComponent('codeForm').form
																							.reset();
																				} else {
																					codeWindow
																							.getComponent('codeForm').form
																							.reset();
																					codeWindow
																							.hide();
																				}
																			});
															 */
														},
														failure : function(
																form, action) {
															var msg = action.result.msg;
															Ext.MessageBox
																	.alert(
																			'提示',
																			'车辆预约信息保存失败');
															// codeWindow
															// .getComponent('codeForm').form
															// .reset();
														}
													});
										} else {
											// 表单验证失败
										}
									}
								},
								{
									text : '关闭',
									iconCls : 'deleteIcon',
									handler : function() {
										codeWindow.getComponent('codeForm').form
												.reset();
										codeWindow.hide();
									}
								} ]
					});

			/** *****************修改*********************** */

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修工时--------------------------------------------
			 */
			// 行号
			var rownum_gs_edit = new Ext.grid.RowNumberer({
				header : '序号',
				width : 40
			});
			var sm_gs_edit = new Ext.grid.CheckboxSelectionModel({
				singleSelect : true
			});
			// 定义列模型
			var cm_gs_edit = new Ext.grid.ColumnModel(
					[
							rownum_gs_edit,
							sm_gs_edit,
							{
								header : '维修类型',
								dataIndex : 'wxlx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'gs_wxlx_id',
											store : WXLXStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'id',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								/**
								 * <code>
								listeners : {
									select : function(combo, record, value) {
										var index = WXLXStore
												.find(
														Ext
																.getCmp('gs_wxlx_id').valueField,
														value);
										if (index != -1) {
											Ext
													.getCmp('gs_bzgsf_id')
													.setValue(
															WXLXStore
																	.getAt(index).data.remark);
										}
									}
								},
								 */
								renderer : function(value, metadata, record) {
									var index = WXLXStore.find(Ext
											.getCmp('gs_wxlx_id').valueField,
											value);
									if (index != -1) {
										/**
										 * <code>
										var remark = WXLXStore.getAt(index).data.remark;
										Ext.getCmp('gs_bzgsf_id').setValue(
												remark);
										 */
										return WXLXStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '付费类型',
								dataIndex : 'fflx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'gs_fflx_id',
											store : PAYTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'desp',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = PAYTYPEStore.find(Ext
											.getCmp('gs_fflx_id').valueField,
											value);
									if (index != -1) {
										return PAYTYPEStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '标准工时费',
								dataIndex : 'bzgsf',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'gs_bzgsf_id'
										})),
								width : 80
							},
							{
								header : '工种',
								dataIndex : 'gz',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'gs_gz_id',
											store : JOBSTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'desp',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = JOBSTYPEStore.find(Ext
											.getCmp('gs_gz_id').valueField,
											value);
									if (index != -1) {
										return JOBSTYPEStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '维修工时内容',
								dataIndex : 'wxgnr',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 140
							},
							{
								header : '维修技师1',
								dataIndex : 'wxjs1',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '维修技师2',
								dataIndex : 'wxjs2',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '维修技师3',
								dataIndex : 'wxjs3',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							} ]);

			/**
			 * 数据存储
			 */
			var store_gs_edit = new Ext.data.Store({
				pruneModifiedRecords : true,
				// 获取数据的方式
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/RepairGJPGAction_listGS.action'
				}),
				// 数据读取器
				reader : new Ext.data.JsonReader({
					totalProperty : 'totalCount', // 记录总数
					root : 'root' // Json中的列表数据根节点
				}, [ {
					name : 'id'
				}, {
					name : 'belongId'
				}, {
					name : 'wxlx'
				}, {
					name : 'fflx'
				}, {
					name : 'bzgsf'
				}, {
					name : 'gz'
				}, {
					name : 'wxgnr'
				}, {
					name : 'wxjs1'
				}, {
					name : 'wxjs2'
				}, {
					name : 'wxjs3'
				}, {
					name : 'remark'
				} ])
			});

			// 定义一个Record
			var record_gs_edit = Ext.data.Record.create([ {
				name : 'id',
				type : 'string'
			}, {
				name : 'belongId',
				type : 'string'
			}, {
				name : 'wxlx',
				type : 'string'
			}, {
				name : 'fflx',
				type : 'string'
			}, {
				name : 'bzgsf',
				type : 'string'
			}, {
				name : 'gz',
				type : 'string'
			}, {
				name : 'wxgnr',
				type : 'string'
			}, {
				name : 'wxjs1',
				type : 'string'
			}, {
				name : 'wxjs2',
				type : 'string'
			}, {
				name : 'wxjs3',
				type : 'string'
			}, {
				name : 'remark',
				type : 'string'
			} ]);

			// 表格工具栏
			var tbar_gs_edit = new Ext.Toolbar(
					{
						items : [
								'-',
								{
									text : '新增一行',
									iconCls : 'addIcon',
									handler : function() {
										var row = new record_gs_edit({});
										row.set('belongId', obj_gjpg_id); // 赋初值
										grid_gs_edit.stopEditing();
										store_gs_edit.insert(0, row);
										grid_gs_edit.startEditing(0, 1);
									}
								},
								{
									text : '保存',
									iconCls : 'acceptIcon',
									handler : function() {
										saveRow_gs_edit();
									}
								},
								{
									text : '删除一行',
									iconCls : 'deleteIcon',
									handler : function() {
										var rows = grid_gs_edit.getSelectionModel()
												.getSelections();
										if (Ext.isEmpty(rows)) {
											Ext.Msg.alert('提示', '你没有选中行');
										} else {
											Ext.Msg
													.confirm(
															'请确认',
															'你真的要删除该维修工时信息吗?',
															function(btn, text) {
																if (btn == 'yes') {
																	// showWaitMsg();
																	Ext.Ajax
																			.request({
																				url : '/Car4S/RepairGJPGAction_deleteGS.action',
																				waitTitle : '提示',
																				method : 'POST',
																				waitMsg : '正在处理数据,请稍候...',
																				success : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修工时信息删除成功');
																					var json = "{belongId:'"
																							+ obj_gjpg_id
																							+ "'}";
																					store_gs_edit
																							.reload({
																								params : {
																									paramsCode : json
																								}
																							});
																				},
																				failure : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修工时信息删除失败');
																				},
																				params : {
																					id : rows[0]
																							.get("id")
																				}
																			});
																}
															});
										}
									}
								} ]
					});
			// 表格实例
			var grid_gs_edit = new Ext.grid.EditorGridPanel({
				// title : '<span class="commoncss">维修工时</span>',
				height : 150,
				autoScroll : true,
				frame : true,
				region : 'center', // 和VIEWPORT布局模型对应，充当center区域布局
				margins : '3 3 3 3',
				store : store_gs_edit, // 数据存储
				stripeRows : true, // 斑马线
				sm : sm_gs_edit,
				cm : cm_gs_edit, // 列模型
				tbar : tbar_gs_edit, // 表格工具栏
				clicksToEdit : 1, // 单击、双击进入编辑状态
				viewConfig : {
					forceFit : true
				},
				loadMask : {
					msg : '正在加载表格数据,请稍等...'
				}
			});

			// 保存
			function saveRow_gs_edit() {
				var m = store_gs_edit.modified.slice(0); // 获取修改过的record数组对象
				if (Ext.isEmpty(m)) {
					Ext.MessageBox.alert('提示', '没有数据需要保存!');
					return;
				}
				var jsonArray = [];
				// 将record数组对象转换为简单Json数组对象
				Ext.each(m, function(item) {
					jsonArray.push(item.data);
				});
				// 提交到后台处理
				Ext.Ajax.request({
					url : '/Car4S/RepairGJPGAction_addGS.action',
					success : function(response) { // 回调函数有1个参数
						Ext.Msg.alert('提示', '维修工时信息保存成功!');
						var json = "{belongId:'" + obj_gjpg_id + "'}";
						store_gs_edit.reload({
							params : {
								paramsCode : json
							}
						});
					},
					failure : function(response) {
						Ext.MessageBox.alert('提示', '数据保存失败');
					},
					params : {
						// 系列化为Json资料格式传入后台处理
						paramsCode : Ext.encode(jsonArray)
					}
				});
			}

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修工时--------------------------------------------
			 */

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修零件--------------------------------------------
			 */

			// 行号
			var rownum_lj_edit = new Ext.grid.RowNumberer({
				header : '序号',
				width : 40
			});
			var sm_lj_edit = new Ext.grid.CheckboxSelectionModel({
				singleSelect : true
			});
			// 定义列模型
			var cm_lj_edit = new Ext.grid.ColumnModel(
					[
							rownum_lj_edit,
							sm_lj_edit,
							{
								header : '维修类型',
								dataIndex : 'wxlx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'lj_wxlx_id',
											store : WXLXStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'id',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								/**
								 * <code>
								listeners : {
									select : function(combo, record, value) {
										var index = WXLXStore
												.find(
														Ext
																.getCmp('gs_wxlx_id').valueField,
														value);
										if (index != -1) {
											Ext
													.getCmp('gs_bzgsf_id')
													.setValue(
															WXLXStore
																	.getAt(index).data.remark);
										}
									}
								},
								 */
								renderer : function(value, metadata, record) {
									var index = WXLXStore.find(Ext
											.getCmp('lj_wxlx_id').valueField,
											value);
									if (index != -1) {
										/**
										 * <code>
										var remark = WXLXStore.getAt(index).data.remark;
										Ext.getCmp('gs_bzgsf_id').setValue(
												remark);
										 */
										return WXLXStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '付费类型',
								dataIndex : 'fflx',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'lj_fflx_id',
											store : PAYTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'desp',
											displayField : 'desp',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = PAYTYPEStore.find(Ext
											.getCmp('lj_fflx_id').valueField,
											value);
									if (index != -1) {
										return PAYTYPEStore.getAt(index).data.desp;
									}
									return value;
								},
								width : 80
							},
							{
								header : '零件金额',
								dataIndex : 'ljje',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'lj_lj_editje_id'
										})),
								width : 80
							},
							{
								header : '零件号',
								dataIndex : 'ljh',
								editor : new Ext.grid.GridEditor(
										new Ext.form.ComboBox({
											id : 'lj_lj_edith_id',
											store : CARPARTSTYPEStore,
											mode : 'local',
											triggerAction : 'all',
											valueField : 'partsNo',
											displayField : 'partsNo',
											allowBlank : false,
											forceSelection : true,
											typeAhead : true
										})),
								renderer : function(value, metadata, record) {
									var index = CARPARTSTYPEStore.find(Ext
											.getCmp('lj_lj_edith_id').valueField,
											value);
									if (index != -1) {
										return CARPARTSTYPEStore.getAt(index).data.partsNo;
									}
									return value;
								},
								width : 80
							},
							{
								header : '零件名称',
								dataIndex : 'ljmc',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'lj_lj_editmc_id'
										})),
								width : 140
							},
							{
								header : '车型号',
								dataIndex : 'ljcxh',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '数量',
								dataIndex : 'ljsl',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({})),
								width : 80
							},
							{
								header : '单价',
								dataIndex : 'ljdj',
								editor : new Ext.grid.GridEditor(
										new Ext.form.TextField({
											id : 'lj_lj_editdj_id'
										})),
								width : 80
							} ]);

			/**
			 * 数据存储
			 */
			var store_lj_edit = new Ext.data.Store({
				pruneModifiedRecords : true,
				// 获取数据的方式
				proxy : new Ext.data.HttpProxy({
					url : '/Car4S/RepairGJPGAction_listLJ.action'
				}),
				// 数据读取器
				reader : new Ext.data.JsonReader({
					totalProperty : 'totalCount', // 记录总数
					root : 'root' // Json中的列表数据根节点
				}, [ {
					name : 'id'
				}, {
					name : 'belongId'
				}, {
					name : 'wxlx'
				}, {
					name : 'fflx'
				}, {
					name : 'ljje'
				}, {
					name : 'ljh'
				}, {
					name : 'ljmc'
				}, {
					name : 'ljsl'
				}, {
					name : 'ljdj'
				}, {
					name : 'ljcxh'
				}, {
					name : 'remark'
				} ])
			});

			// 定义一个Record
			var record_lj_edit = Ext.data.Record.create([ {
				name : 'id',
				type : 'string'
			}, {
				name : 'belongId',
				type : 'string'
			}, {
				name : 'wxlx',
				type : 'string'
			}, {
				name : 'fflx',
				type : 'string'
			}, {
				name : 'ljje',
				type : 'string'
			}, {
				name : 'ljh',
				type : 'string'
			}, {
				name : 'ljmc',
				type : 'string'
			}, {
				name : 'ljsl',
				type : 'string'
			}, {
				name : 'ljdj',
				type : 'string'
			}, {
				name : 'ljxch',
				type : 'string'
			}, {
				name : 'remark',
				type : 'string'
			} ]);

			// 表格工具栏
			var tbar_lj_edit = new Ext.Toolbar(
					{
						items : [
								'-',
								{
									text : '新增一行',
									iconCls : 'addIcon',
									handler : function() {
										var row = new record_lj_edit({});
										row.set('belongId', obj_gjpg_id); // 赋初值
										grid_lj_edit.stopEditing();
										store_lj_edit.insert(0, row);
										grid_lj_edit.startEditing(0, 1);
									}
								},
								{
									text : '保存',
									iconCls : 'acceptIcon',
									handler : function() {
										saveRow_lj_edit();
									}
								},
								{
									text : '删除一行',
									iconCls : 'deleteIcon',
									handler : function() {
										var rows = grid_lj_edit.getSelectionModel()
												.getSelections();
										if (Ext.isEmpty(rows)) {
											Ext.Msg.alert('提示', '你没有选中行');
										} else {
											Ext.Msg
													.confirm(
															'请确认',
															'你真的要删除该维修零件信息吗?',
															function(btn, text) {
																if (btn == 'yes') {
																	// showWaitMsg();
																	Ext.Ajax
																			.request({
																				url : '/Car4S/RepairGJPGAction_deleteLJ.action',
																				waitTitle : '提示',
																				method : 'POST',
																				waitMsg : '正在处理数据,请稍候...',
																				success : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修零件信息删除成功');
																					var json = "{belongId:'"
																							+ obj_gjpg_id
																							+ "'}";
																					store_lj_edit
																							.reload({
																								params : {
																									paramsCode : json
																								}
																							});
																				},
																				failure : function(
																						response) {
																					Ext.Msg
																							.alert(
																									'提示',
																									'维修零件信息删除失败');
																				},
																				params : {
																					id : rows[0]
																							.get("id")
																				}
																			});
																}
															});
										}
									}
								} ]
					});
			// 表格实例
			var grid_lj_edit = new Ext.grid.EditorGridPanel({
				// title : '<span class="commoncss">维修零件</span>',
				height : 150,
				autoScroll : true,
				frame : true,
				region : 'center', // 和VIEWPORT布局模型对应，充当center区域布局
				margins : '3 3 3 3',
				store : store_lj_edit, // 数据存储
				stripeRows : true, // 斑马线
				sm : sm_lj_edit,
				cm : cm_lj_edit, // 列模型
				tbar : tbar_lj_edit, // 表格工具栏
				clicksToEdit : 1, // 单击、双击进入编辑状态
				viewConfig : {
					forceFit : true
				},
				loadMask : {
					msg : '正在加载表格数据,请稍等...'
				}
			});

			// 保存
			function saveRow_lj_edit() {
				var m = store_lj_edit.modified.slice(0); // 获取修改过的record数组对象
				if (Ext.isEmpty(m)) {
					Ext.MessageBox.alert('提示', '没有数据需要保存!');
					return;
				}
				var jsonArray = [];
				// 将record数组对象转换为简单Json数组对象
				Ext.each(m, function(item) {
					jsonArray.push(item.data);
				});
				// 提交到后台处理
				Ext.Ajax.request({
					url : '/Car4S/RepairGJPGAction_addLJ.action',
					success : function(response) { // 回调函数有1个参数
						Ext.Msg.alert('提示', '维修零件信息保存成功!');
						var json = "{belongId:'" + obj_gjpg_id + "'}";
						store_lj_edit.reload({
							params : {
								paramsCode : json
							}
						});
					},
					failure : function(response) {
						Ext.MessageBox.alert('提示', '数据保存失败');
					},
					params : {
						// 系列化为Json资料格式传入后台处理
						paramsCode : Ext.encode(jsonArray)
					}
				});
			}

			/**
			 * <code>
			 * ----------------------------------------------------------------------------维修零件--------------------------------------------
			 */

			var editCodeWindow, editCodeFormPanel;

			editCodeFormPanel = new Ext.form.FormPanel({
				id : 'editCodeForm',
				name : 'editCodeForm',
				// frame : true, // 是否渲染表单面板背景色
				labelAlign : 'right', // 标签对齐方式
				autoScroll : true,
				bodyStyle : 'padding:15 15 15 15', // 表单元素和表单面板的边距
				items : [ new Ext.form.FieldSet({
					id : "queryFieldSet6",
					title : '受理委托信息',
					border : true,
					labelWidth : 120,
					style : 'padding:5px',
					items : [ {
						layout : 'column',
						border : false,
						items : [ {
							columnWidth : .5,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '委托单号',
								id : 'flowId_edit',
								name : 'flowId',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入委托单号',
								readOnly : true,
								// emptyText :
								// '请输入委托单号...',
								maxLength : 25
							}, {
								fieldLabel : 'id',
								id : 'id_edit',
								name : 'id',
								xtype : 'textfield',
								anchor : '95%',
								hidden : true,
								hideLabel : true
							} ]
						} ]
					} ]
				}), new Ext.form.FieldSet({
					id : "queryFieldSet7",
					title : '客户信息',
					border : true,
					labelWidth : 120,
					style : 'padding:5px',
					items : [ {
						layout : 'column',
						border : false,
						items : [ {
							columnWidth : .25,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '车主姓名',
								id : 'owner_name_edit',
								name : 'ownerName',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入车主姓名',
								emptyText : '请输入车主姓名...',
								readOnly : true,
								maxLength : 20
							}, {
								fieldLabel : '车辆底盘号',
								id : 'car_chassis_no_edit',
								name : 'carChassisNo',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入车辆底盘号',
								emptyText : '请输入车辆底盘号...',
								readOnly : true,
								maxLength : 25
							} ]
						}, {
							columnWidth : .25,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '车辆牌照',
								id : 'carTagNumber_edit',
								name : 'carTagNumber',
								anchor : '95%',
								allowBlank : false,
								emptyText : '请输入车辆牌照...',
								blankText : '请输入车辆牌照',
								readOnly : true,
								maxLength : 25
							}, {
								fieldLabel : '发动机号',
								id : 'car_engine_no_edit',
								name : 'carEngineNo',
								anchor : '95%',
								readOnly : true,
								maxLength : 25
							} ]
						}, {
							columnWidth : .25,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '车辆品牌',
								id : 'car_brands_edit',
								name : 'carBrands',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入车辆品牌',
								emptyText : '请输入车辆品牌...',
								readOnly : true,
								maxLength : 25
							}, {
								fieldLabel : '行驶里程',
								id : 'car_driver_length_edit',
								name : 'carDriverLength',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入行驶里程',
								emptyText : '请输入行驶里程...',
								readOnly : true,
								maxLength : 25
							} ]
						}, {
							columnWidth : .25,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '车辆型号',
								id : 'car_model_edit',
								name : 'carModel',
								anchor : '95%',
								readOnly : true,
								maxLength : 25
							} ]
						} ]
					}, {
						fieldLabel : 'carOwnerInfoId',
						id : 'carOwnerInfoId_edit',
						name : 'carOwnerInfoId',
						xtype : 'textfield',
						anchor : '95%',
						hidden : true,
						hideLabel : true
					} ]
				}), new Ext.form.FieldSet({
					id : "queryFieldSet8",
					title : '维修信息',
					border : true,
					labelWidth : 120,
					style : 'padding:5px',
					items : [ {
						layout : 'column',
						border : false,
						items : [ {
							columnWidth : .33,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '维修类别',
								xtype : 'textfield',
								id : 'wxlxDesp_edit',
								name : 'wxlxDesp',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入维修类别',
								emptyText : '请输入维修类别...',
								readOnly : true,
								maxLength : 50
							} ]
						}, {
							columnWidth : .33,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '受理时间',
								xtype : 'textfield',
								id : 'slsj_edit',
								name : 'slsj',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入受理时间',
								emptyText : '请输入受理时间...',
								readOnly : true,
								maxLength : 50
							} ]
						}, {
							columnWidth : .33,
							layout : 'form',
							labelWidth : 100, // 标签宽度
							defaultType : 'textfield',
							border : false,
							items : [ {
								fieldLabel : '服务顾问',
								xtype : 'textfield',
								id : 'fwgwName_edit',
								name : 'fwgwName',
								anchor : '95%',
								allowBlank : false,
								blankText : '请输入服务顾问',
								emptyText : '请输入服务顾问...',
								readOnly : true,
								maxLength : 50
							} ]
						} ]
					}, {
						fieldLabel : '车主主观描述',
						xtype : 'textfield',
						id : 'czzgms_edit',
						name : 'czzgms',
						anchor : '95%',
						allowBlank : false,
						blankText : '请输入车主主观描述',
						emptyText : '请输入车主主观描述...',
						readOnly : true,
						maxLength : 50
					} ]
				}), new Ext.form.FieldSet({
					id : "queryFieldSet9",
					title : '维修工时(只能单行数据保存/删除)',
					border : true,
					labelWidth : 120,
					style : 'padding:5px',
					items : [ grid_gs_edit ]
				}), new Ext.form.FieldSet({
					id : "queryFieldSet10",
					title : '维修零件(只能单行数据保存/删除)',
					border : true,
					labelWidth : 120,
					style : 'padding:5px',
					items : [ grid_lj_edit ]
				}) ]
			});

			editCodeWindow = new Ext.Window({
				layout : 'fit',
				width : 900,
				height : 448,
				resizable : false,
				draggable : true,
				closeAction : 'hide',
				title : '<span class="commoncss">修改车辆预约信息</span>',
				modal : true,
				collapsible : true,
				titleCollapse : true,
				maximizable : false,
				buttonAlign : 'right',
				border : false,
				animCollapse : true,
				animateTarget : Ext.getBody(),
				constrain : true,
				items : [ editCodeFormPanel ],
				buttons : [ {
					text : '保存',
					iconCls : 'acceptIcon',
					handler : function() {
						updateCodeItem();
					}
				}, {
					text : '关闭',
					iconCls : 'deleteIcon',
					handler : function() {
						editCodeWindow.hide();
					}
				} ]

			});

			/** *****************查询*********************** */
			var queryCodeWindow, queryCodeFormPanel;
			var queryCodeFormPanel = new Ext.form.FormPanel();

			queryCodeWindow = new Ext.Window();

			/**
			 * 布局
			 */
			var viewport = new Ext.Viewport({
				layout : 'border',
				items : [ grid ]
			});

			/**
			 * 初始化代码修改出口
			 */
			function ininEditCodeWindow() {
				var record = grid.getSelectionModel().getSelected();
				if (Ext.isEmpty(record)) {
					Ext.Msg.alert('提示', '请先选中要修改的车辆预约信息');
					return;
				}
				record = grid.getSelectionModel().getSelected();
				obj_gjpg_id = record.id;
				editCodeWindow.show();
				editCodeFormPanel.getForm().loadRecord(record);

				var json = "{belongId:'" + obj_gjpg_id + "'}";
				store_gs_edit.load({
					params : {
						paramsCode : json
					}
				});
				store_lj_edit.load({
					params : {
						paramsCode : json
					}
				});
			}

			/**
			 * 修改
			 */
			function updateCodeItem() {
				if (!editCodeFormPanel.form.isValid()) {
					return;
				}
				var json = [];
				var jsonDataObj = editCodeWindow.getComponent('editCodeForm').form
						.getValues();
				json = Ext.encode(jsonDataObj).toString();
				editCodeFormPanel.form.submit({
					url : '/Car4S/RepairCLYYAction_edit.action',
					waitTitle : '提示',
					method : 'POST',
					params : {
						paramsCode : json
					},
					waitMsg : '正在处理数据,请稍候...',
					success : function(form, action) {
						Ext.Msg.alert('提示', '车辆预约信息修改成功');
						editCodeWindow.hide();
						store.reload();
					},
					failure : function(form, action) {
						var msg = action.result.msg;
						Ext.MessageBox.alert('提示', '车辆预约信息修改失败');
					}
				});
			}

			/**
			 * 删除
			 */
			function deleteCodeItems() {
			}

			/**
			 * 根据条件查询
			 */
			function queryCodeItem() {
			}

			/**
			 * 刷新
			 */
			function refreshCodeTable() {
				store.load({
					params : {
						start : 0,
						limit : bbar.pageSize
					}
				});
			}
		});

Ext.EventManager.on(window, 'load', function() {
	setTimeout(function() {
		Ext.get('loading').remove();
		Ext.get('loading-mask').fadeOut({
			remove : true
		});
	}, 200);

});